package com.tencreat.domain.mall.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tencreat.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;


/**
 * 售后对象 mall_aftersale
 *
 * @author tencreat
 * @date 2021-08-19
 */
@Data
public class MallAdminAftersaleVO {
    private static final long serialVersionUID = 1L;


    @TableId(type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value= "订单编号")
    @Excel(name = "订单编号",sort = 1)
    @TableField("`order_sn`")
    private String orderSn;

    @ApiModelProperty(value= "用户ID")
    @Excel(name = "用户ID",sort = 2)
    private Long userId;

    @ApiModelProperty(value= "用户手机号")
    @Excel(name = "手机号码",sort = 3)
    private String mobile;

    @ApiModelProperty("商品id")
    @Excel(name = "商品ID",sort = 4)
    private Long goodsId;

    @ApiModelProperty("商品名称")
    @Excel(name = "商品名称",sort = 5)
    private String goodsName;

    @ApiModelProperty("商品图片")
    private String picUrl;

    @ApiModelProperty("供应商名称")
    @Excel(name = "供应商名称",sort = 7)
    private String supplierName;

    @ApiModelProperty("商品规格")
    @Excel(name = "商品规格",sort = 8)
    private String goodsNorms;

    @ApiModelProperty(value= "退款金额")
    @Excel(name = "退款金额",sort = 9)
    private BigDecimal amount;

    @ApiModelProperty(value = "订单状态")
    @Excel(name = "订单状态",sort = 10,readConverterExp = "103=待收货,106=待发货,107=已完成,108=售后完成")
    private Integer statusUser;

    @ApiModelProperty(value= "售后类型，0是未收货退款，1是已收货（无需退货）退款，2用户退货退款")
    @Excel(name = "退款类型",sort = 11,readConverterExp = "0=退款,1=退款,2=退款退货")
    private Integer type;

    @ApiModelProperty(value= "退款原因")
    @Excel(name = "退款原因",sort = 12)
    private String reason;

    @ApiModelProperty(value= "退款凭证图片链接数组")
    private String pictures;

    @ApiModelProperty(value= "售后状态")
    @Excel(name = "售后状态",sort = 14, readConverterExp ="1=待审核,2=退款退货待上传物流,3=退款成功,4=审核拒绝,5=用户已取消,8=退款退货中")
    private Integer status;

    @ApiModelProperty("申请时间")
    @Excel(name = "申请时间",sort = 15,dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @ApiModelProperty(value= "退款说明")
    private String comment;

    @ApiModelProperty(value= "订单与商品ID")
    private Long orderGoodsId;

    @ApiModelProperty(value= "订单ID")
    private Long orderId;

    @ApiModelProperty(value= "退货单号")
    private String shipSn;

    @ApiModelProperty("结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;

}
